package com.hyfd.controller.mp;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.hyfd.controller.sys.BaseController;
import com.hyfd.service.mp.ProviderDataDiscountSer;

@Controller
//@Scope("prototype") //开启非单例模式 用于并发控制
public class ProviderDataDiscountCtl extends BaseController{
	
	@Autowired
	ProviderDataDiscountSer providerDataDiscountSer;
	
	/**
	 * <h5>功能描述:</h5>	跳转到运营商折扣设置页面
	 *
	 * @param req
	 * @param id
	 * @return
	 *
	 * @作者：zhangpj		@创建时间：2017年3月31日
	 */
	@GetMapping("providerDataDiscountAddPage/{id}")
	public String providerDataDiscountAddPage(HttpServletRequest req,@PathVariable("id") String id) {
		return providerDataDiscountSer.providerDataDiscountAddPage(req,id);
	}
	
	@GetMapping("providerDataRealDiscountAddPage/{id}")
	public String providerDataRealDiscountAddPage(HttpServletRequest req,@PathVariable("id") String id) {
		return providerDataDiscountSer.providerDataRealDiscountAddPage(req,id);
	}
	
    /**
     * <h5>功能描述:</h5>	跳转到运营商折扣编辑页面
     *
     * @param req
     * @param id
     * @return
     *
     * @作者：zhangpj		@创建时间：2017年3月31日
     */
    @GetMapping("providerDataDiscountEditPage/{id}")
	public String providerDataDiscountEditPage(HttpServletRequest req,@PathVariable("id") String id) {
		return providerDataDiscountSer.providerDataDiscountEditPage(req,id);
	}
    
	@GetMapping("providerDataDiscountByDataPkgId/{data_pkg_id}")
	@ResponseBody
	public String providerDataDiscountByDataPkgIdGet(@PathVariable("data_pkg_id") String data_pkg_id) {
		return providerDataDiscountSer.getProviderDataDiscountByDataPkgId(data_pkg_id);
	}
	
	@GetMapping("providerDataDiscountByDataPkgIdAndProvider/{data_pkg_id}-{providerId}")
	@ResponseBody
	public String providerDataDiscountByDataPkgIdAndProviderGet(@PathVariable("data_pkg_id") String data_pkg_id,@PathVariable("providerId") String providerId) {
		return providerDataDiscountSer.getProviderDataDiscountByDataPkgIdAndProvinceId(data_pkg_id,providerId);
	}
	
	/**
	 * <h5>功能描述:</h5>	添加运营商流量包折扣信息
	 *
	 * @param req
	 * @param provincesAndDiscountes
	 * @return
	 *
	 * @作者：zhangpj		@创建时间：2017年3月31日
	 */
	@PostMapping("providerDataDiscountAdd")
	@ResponseBody
	public String providerDataDiscountAddPost(HttpServletRequest req) {
		return providerDataDiscountSer.providerDataDiscountAddExt(req);
	}
	
	@PutMapping("providerDataDiscount")
	@ResponseBody
	public String providerDataDiscountPut(HttpServletRequest req) {
		return providerDataDiscountSer.providerDataDiscountEdit(req);
	}
	
	/**
	 * <h5>功能描述:</h5>	文件上传添加运营商流量包折扣信息
	 *
	 * @param req
	 * @param providerPhysicalChannelIdes
	 * @return
	 *
	 * @作者：zhangpj		@创建时间：2017年3月31日
	 */
	@PostMapping("providerDataDiscountAddEx1")
	@ResponseBody
	public String providerDataDiscountEx1Post(HttpServletRequest req,String[] providerPhysicalChannelIdes) {
		return providerDataDiscountSer.providerDataDiscountUpload(req,providerPhysicalChannelIdes);
	}
	
	@GetMapping("providerDataDiscountByProviderPhysicalChannelIdAndProvider/{providerPhysicalChannelId}-{providerId}")
	@ResponseBody
	public String providerDataDiscountByProviderPhysicalChannelIdAndProvider(@PathVariable("providerPhysicalChannelId") String providerPhysicalChannelId,@PathVariable("providerId") String providerId) {
		return providerDataDiscountSer.getProviderDataDiscountByProviderPhysicalChannelIdAndProvider(providerPhysicalChannelId,providerId);
	}
	
	/**
	 * <h5>功能描述:</h5>	跳转到运营商折扣列表展示页面
	 *
	 * @param id
	 * @param req
	 * @return
	 *
	 * @作者：zhangpj		@创建时间：2017年3月31日
	 */
	@GetMapping("providerDataDiscountListPage/{id}")
	public String providerDataDiscountListPage(@PathVariable("id") String id,HttpServletRequest req) {
		return providerDataDiscountSer.providerDataDiscountListPage(id,req);
	}
	
	/**
	 * 获取运营商折扣列表数据 只能使用get方式提交
	 * @param req
	 * @return
	 */
	@GetMapping("providerDataDiscount")
	@ResponseBody
	public String providerDataDiscountGet(HttpServletRequest req) {
		return providerDataDiscountSer.providerDataDiscountList(req);
	}
	
	/**
	 * <h5>功能描述:</h5>	跳转到运营商折扣列表编辑页面
	 *
	 * @param id
	 * @param req
	 * @return
	 *
	 * @作者：zhangpj		@创建时间：2017年3月31日
	 */
	@GetMapping("providerDataDiscountEdit/{id}")
	public String providerDataDiscountEditPage(@PathVariable("id") String id,HttpServletRequest req) {
		return providerDataDiscountSer.providerDataDiscountEditPage(id,req);
	}
	
	/**
	 * <h5>功能描述:</h5>	根据物理运营商id、运营商、流量包类型获取流量包范围
	 *
	 * @param req
	 * @return
	 *
	 * @作者：zhangpj		@创建时间：2017年4月1日
	 */
	@GetMapping("provinceCodeList")
	@ResponseBody
	public String provinceCodeList(HttpServletRequest req) {
		return providerDataDiscountSer.selectProvinceCode(req);
	}
	
	/**
	 * <h5>功能描述:</h5>	根据物理运营商id、运营商、流量包类型、流量包范围获取运营商折扣信息
	 *
	 * @param req
	 * @return
	 *
	 * @作者：zhangpj		@创建时间：2017年4月1日
	 */
	@GetMapping("dataPkgAndDiscountList")
	@ResponseBody
	public String dataPkgAndDiscountList(HttpServletRequest req) {
		return providerDataDiscountSer.selectDataPkgAndDiscount(req);
	}
	
	/**
	 * @功能描述：	折扣设置页面获取满足条件的流量包折扣信息
	 *
	 * @作者：zhangpj		@创建时间：2017年5月16日
	 * @param req
	 * @return
	 */
	@GetMapping("providerDataDiscountInfo")
	@ResponseBody
	public String providerDataDiscount(HttpServletRequest req) {
		return providerDataDiscountSer.selectProviderDataDiscount(req);
	}
}
